"use client"; import { useUIState } from "src/useUIState"; import { Footer } from "components/ActionBar/Footer"; import { Media } from "components/Media"; import { ThemePopover } from "components/ThemeManager/ThemeSetter"; import { Toolbar } from "components/Toolbar"; import { ShareOptions } from "app/[leaflet_id]/actions/ShareOptions"; import { HomeButton } from "app/[leaflet_id]/actions/HomeButton"; import { PublishButton } from "./actions/PublishButton"; import { useEntitySetContext } from "components/EntitySetProvider"; import { Watermark } from "components/Watermark"; import { BackToPubButton } from "./actions/BackToPubButton"; import { useLeafletPublicationData } from "components/PageSWRDataProvider"; import { useIdentityData } from "components/IdentityProvider"; import { useEntity } from "src/replicache"; import { block } from "sharp"; import { PostSettings } from "components/PostSettings"; export function hasBlockToolbar(blockType: string | null | undefined) { return ( blockType === "text" || blockType === "heading" || blockType === "blockquote" || blockType === "button" || blockType === "datetime" || blockType === "image" ); } export function LeafletFooter(props: { entityID: string }) { let focusedBlock = useUIState((s) => s.focusedEntity); let entity_set = useEntitySetContext(); let { identity } = useIdentityData(); let { data: pub } = useLeafletPublicationData(); let blockType = useEntity(focusedBlock?.entityID || null, "block/type")?.data .value; return ( {focusedBlock && focusedBlock.entityType == "block" && hasBlockToolbar(blockType) && entity_set.permissions.write ? (
{ if (e.currentTarget === e.target) e.preventDefault(); }} >
) : entity_set.permissions.write ? ( ) : (
)}
); }